package main

import (
	"github.com/kataras/iris/v12"
)

/*
路径中的参数
 */
func main() {
	app := iris.Default()

	// 一个具体的get请求
	app.Get("/user/name", func(ctx iris.Context) {
		name := ctx.Params().Get("name")
		ctx.Writef("you are  %s", name)
	})

	// 匹配所有/user/**/*的get请求 name的值为**/*
	app.Get("/user/{name}", func(ctx iris.Context) {
		name := ctx.Params().Get("name")
		ctx.Writef("Hello %s", name)
	})

	// 有条件的路由会优先匹配 匹配所有/user/**/*的get请求 userid的值为**/*，
	app.Get("/user/{userid:int min(1)}", func(ctx iris.Context) {
		userid, err := ctx.Params().GetInt("userid")
		if err != nil {

		}
		ctx.Writef("this is %d", userid)
	})

	// 匹配所有/user/**/**/*的get请求，name的值为第一个**，action的值为**/*
	app.Get("/user/{name}/{action:path}", func(ctx iris.Context) {
		name := ctx.Params().Get("name")
		action := ctx.Params().Get("action")
		message := name + " is " + action
		ctx.WriteString(message)
	})

	// For each matched request Context will hold the route definition
	app.Post("/user/{name:string}/{action:path}", func(ctx iris.Context) {
		b := ctx.GetCurrentRoute().Tmpl().Src == "/user/{name:string}/{action:path}" // true
		println(b)
	})



	app.Listen(":8080")
}
